package com.methodreference;


/**
 * Created by
 *
 * 方法的引用  :: 引用运算符
 *  通过类名来引用静态成员方法           要求类和静态成员方法都必须要存在
 *  用super来引用父类的方法来运行:       super::父类中的方法名称
 *  用this来引用本类中的方法：           this::本类中方法名称
 *  可以进行类的构造器(构造方法)的引用：    类名::new
 *  可以进行数组构造器的引用：           数组类型[]::new
 *
 *
 *  以上使用的前提： 对象已经存在并且其成员方法也是存在的
 *
 *
 * @author touni
 * @date 2019/4/29
 * @time 15:20
 */
public class DemoOne {
    public static void printStr(Printable p){
        p.print("输出！！");
    }

    public static Integer changeValue(Integer value, Callable c){
        return c.absValue(value);
    }

    public static void main(String[] args) {
        printStr((p)->{ System.out.println(p); });
        System.out.println("=================华丽的分割线======================");
        printStr(System.out::println);
        System.out.println("====================华丽的分割线=============================");
        System.out.println(changeValue(-12,Math::abs));
    }








}
